interface AppOption extends IAppOption {
  
}

// 获取应用实例
// const app = getApp<IAppOption>()
const app = getApp<AppOption>()

Page({
  data: {
    motto: 'Hello World First View',
    time: '2023-03-20',
    userInfo: {
      name: 'tlx'
    },
    list: [
      {id: 1},
      {id: 2},
      {id: 3},
      {id: 4},
      {id: 5},
    ],
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    canIUseOpenData: false // wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
  },
  // 生命周期函数 -- 监听页面加载
  onLoad(options) {
    console.log('onLoad 页面加载', options)
    // @ts-ignore
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  // 生命周期函数 -- 监听页面显示 -- 启动或切前台
  onShow() {
    // console.log('onShow 页面显示 --->', this.getTabBar())
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      // 点击 tabBar 时切换路由文件
      this.getTabBar().setData({
        selected: 0
      })
    }
  },
  // 生命周期函数 -- 监听页面初始化渲染完成
  onReady() {
    console.log('onReady 页面初始化渲染完成 --->')
  },
  // 生命周期函数 -- 监听页面隐藏
  onHide() {
    console.log('页面关闭 onHide --->')
  },

  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({ // 路由跳转
      url: '../logs/logs',
    })
  },
  getUserProfile() {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log('获取用户信息', res)
        this.setData({
          userInfo: {
            ...this.data.userInfo,
            ...res.userInfo
          },
          hasUserInfo: true,
          canIUseOpenData: true
        })
      }
    })
  },
  getUserInfo(e: any) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
  handleClick() {
    this.getUserProfile()
    console.log(123, this.data.userInfo)
  },
  // 手指长按移动
  handleTouchMove() {
    console.log('长按 移动')
  },

  // 点击页面跳转
  jumpHome() {
    wx.switchTab({url: "/pages/home/index"})
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        selected: 2
      })
    }
  }
})
